﻿////////////////////////////////////////////////////////////////////////
//Autor: Gabriel Tame Borao  - gabrieltame@yahoo.es 
//Fecha: 2010/09/15 01:26
//Solucion: GTameReport.sln
//Proyecto: GTameReport
//Fichero: StyleType.cs
//
//	Copyright (C) 2010  Gabriel Tame Borao (GTB)
//
//This program is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program.  If not, see <http://www.gnu.org/licenses/>.
////////////////////////////////////////////////////////////////////////
namespace GTameReport
{
    using Rdl;
    using System;
    using System.Collections;

    public class StyleType
    {
        private string _BackgroundColor;
        private string _BackgroundGradientEndColor;
        private string _BackgroundGradientType;
        private GTameReport.BackgroundImageType _BackgroundImage;
        private GTameReport.BorderColorStyleWidthType _BorderColor;
        private GTameReport.BorderColorStyleWidthType _BorderStyle;
        private GTameReport.BorderColorStyleWidthType _BorderWidth;
        private string _Calendar;
        private string _Color;
        private string _Direction;
        private string _FontFamily;
        private string _FontSize;
        private string _FontStyle;
        private string _FontWeight;
        private string _Format;
        private string _Language;
        private string _LineHeight;
        private string _NumeralLanguage;
        private string _NumeralVariant;
        private string _PaddingBottom;
        private string _PaddingLeft;
        private string _PaddingRight;
        private string _PaddingTop;
        private string _TextAlign;
        private string _TextDecoration;
        private string _UnicodeBiDi;
        private string _VerticalAlign;
        private string _WritingMode;

        public Rdl.StyleType Write()
        {
            Rdl.StyleType type = new Rdl.StyleType();
            ArrayList list = new ArrayList();
            ArrayList list2 = new ArrayList();
            if (this._BackgroundColor != null)
            {
                list.Add(this._BackgroundColor);
                list2.Add(ItemsChoiceType5.BackgroundColor);
            }
            if (this._BackgroundGradientEndColor != null)
            {
                list.Add(this._BackgroundGradientEndColor);
                list2.Add(ItemsChoiceType5.BackgroundGradientEndColor);
            }
            if (this._BackgroundGradientType != null)
            {
                list.Add(this._BackgroundGradientType);
                list2.Add(ItemsChoiceType5.BackgroundGradientType);
            }
            if (this._BackgroundImage != null)
            {
                list.Add(this._BackgroundImage.Write());
                list2.Add(ItemsChoiceType5.BackgroundImage);
            }
            if (this._BorderColor != null)
            {
                list.Add(this._BorderColor.Write());
                list2.Add(ItemsChoiceType5.BorderColor);
            }
            if (this._BorderStyle != null)
            {
                list.Add(this._BorderStyle.Write());
                list2.Add(ItemsChoiceType5.BorderStyle);
            }
            if (this._BorderWidth != null)
            {
                list.Add(this._BorderWidth.Write());
                list2.Add(ItemsChoiceType5.BorderWidth);
            }
            if (this._Calendar != null)
            {
                list.Add(this._Calendar);
                list2.Add(ItemsChoiceType5.Calendar);
            }
            if (this._Color != null)
            {
                list.Add(this._Color);
                list2.Add(ItemsChoiceType5.Color);
            }
            if (this._Direction != null)
            {
                list.Add(this._Direction);
                list2.Add(ItemsChoiceType5.Direction);
            }
            if (this._FontFamily != null)
            {
                list.Add(this._FontFamily);
                list2.Add(ItemsChoiceType5.FontFamily);
            }
            if (this._FontSize != null)
            {
                list.Add(this._FontSize);
                list2.Add(ItemsChoiceType5.FontSize);
            }
            if (this._FontStyle != null)
            {
                list.Add(this._FontStyle);
                list2.Add(ItemsChoiceType5.FontStyle);
            }
            if (this._FontWeight != null)
            {
                list.Add(this._FontWeight);
                list2.Add(ItemsChoiceType5.FontWeight);
            }
            if (this._Format != null)
            {
                list.Add(this._Format);
                list2.Add(ItemsChoiceType5.Format);
            }
            if (this._Language != null)
            {
                list.Add(this._Language);
                list2.Add(ItemsChoiceType5.Language);
            }
            if (this._LineHeight != null)
            {
                list.Add(this._LineHeight);
                list2.Add(ItemsChoiceType5.LineHeight);
            }
            if (this._NumeralLanguage != null)
            {
                list.Add(this._NumeralLanguage);
                list2.Add(ItemsChoiceType5.NumeralLanguage);
            }
            if (this._NumeralVariant != null)
            {
                list.Add(this._NumeralVariant);
                list2.Add(ItemsChoiceType5.NumeralVariant);
            }
            if (this._PaddingBottom != null)
            {
                list.Add(this._PaddingBottom);
                list2.Add(ItemsChoiceType5.PaddingBottom);
            }
            if (this._PaddingLeft != null)
            {
                list.Add(this._PaddingLeft);
                list2.Add(ItemsChoiceType5.PaddingLeft);
            }
            if (this._PaddingRight != null)
            {
                list.Add(this._PaddingRight);
                list2.Add(ItemsChoiceType5.PaddingRight);
            }
            if (this._PaddingTop != null)
            {
                list.Add(this._PaddingTop);
                list2.Add(ItemsChoiceType5.PaddingTop);
            }
            if (this._TextAlign != null)
            {
                list.Add(this._TextAlign);
                list2.Add(ItemsChoiceType5.TextAlign);
            }
            if (this._TextDecoration != null)
            {
                list.Add(this._TextDecoration);
                list2.Add(ItemsChoiceType5.TextDecoration);
            }
            if (this._UnicodeBiDi != null)
            {
                list.Add(this._UnicodeBiDi);
                list2.Add(ItemsChoiceType5.UnicodeBiDi);
            }
            if (this._VerticalAlign != null)
            {
                list.Add(this._VerticalAlign);
                list2.Add(ItemsChoiceType5.VerticalAlign);
            }
            if (this._WritingMode != null)
            {
                list.Add(this._WritingMode);
                list2.Add(ItemsChoiceType5.WritingMode);
            }
            type.Items = list.ToArray();
            type.ItemsElementName = (ItemsChoiceType5[]) list2.ToArray(typeof(ItemsChoiceType5));
            list2 = null;
            list = null;
            return type;
        }

        public string BackgroundColor
        {
            get
            {
                return this._BackgroundColor;
            }
            set
            {
                this._BackgroundColor = value;
            }
        }

        public string BackgroundGradientEndColor
        {
            get
            {
                return this._BackgroundGradientEndColor;
            }
            set
            {
                this._BackgroundGradientEndColor = value;
            }
        }

        public string BackgroundGradientType
        {
            get
            {
                return this._BackgroundGradientType;
            }
            set
            {
                this._BackgroundGradientType = value;
            }
        }

        public GTameReport.BackgroundImageType BackgroundImage
        {
            get
            {
                if (this._BackgroundImage == null)
                {
                    this._BackgroundImage = new GTameReport.BackgroundImageType();
                }
                return this._BackgroundImage;
            }
            set
            {
                this._BackgroundImage = value;
            }
        }

        public GTameReport.BorderColorStyleWidthType BorderColor
        {
            get
            {
                if (this._BorderColor == null)
                {
                    this._BorderColor = new GTameReport.BorderColorStyleWidthType();
                }
                return this._BorderColor;
            }
            set
            {
                this._BorderColor = value;
            }
        }

        public GTameReport.BorderColorStyleWidthType BorderStyle
        {
            get
            {
                if (this._BorderStyle == null)
                {
                    this._BorderStyle = new GTameReport.BorderColorStyleWidthType();
                }
                return this._BorderStyle;
            }
            set
            {
                this._BorderStyle = value;
            }
        }

        public GTameReport.BorderColorStyleWidthType BorderWidth
        {
            get
            {
                if (this._BorderWidth == null)
                {
                    this._BorderWidth = new GTameReport.BorderColorStyleWidthType();
                }
                return this._BorderWidth;
            }
            set
            {
                this._BorderWidth = value;
            }
        }

        public string Calendar
        {
            get
            {
                return this._Calendar;
            }
            set
            {
                this._Calendar = value;
            }
        }

        public string Color
        {
            get
            {
                return this._Color;
            }
            set
            {
                this._Color = value;
            }
        }

        public string Direction
        {
            get
            {
                return this._Direction;
            }
            set
            {
                this._Direction = value;
            }
        }

        public string FontFamily
        {
            get
            {
                return this._FontFamily;
            }
            set
            {
                this._FontFamily = value;
            }
        }

        public string FontSize
        {
            get
            {
                return this._FontSize;
            }
            set
            {
                this._FontSize = value;
            }
        }

        public string FontStyle
        {
            get
            {
                return this._FontStyle;
            }
            set
            {
                this._FontStyle = value;
            }
        }

        public string FontWeight
        {
            get
            {
                return this._FontWeight;
            }
            set
            {
                this._FontWeight = value;
            }
        }

        public string Format
        {
            get
            {
                return this._Format;
            }
            set
            {
                this._Format = value;
            }
        }

        public string Language
        {
            get
            {
                return this._Language;
            }
            set
            {
                this._Language = value;
            }
        }

        public string LineHeight
        {
            get
            {
                return this._LineHeight;
            }
            set
            {
                this._LineHeight = value;
            }
        }

        public string NumeralLanguage
        {
            get
            {
                return this._NumeralLanguage;
            }
            set
            {
                this._NumeralLanguage = value;
            }
        }

        public string NumeralVariant
        {
            get
            {
                return this._NumeralVariant;
            }
            set
            {
                this._NumeralVariant = value;
            }
        }

        public string PaddingBottom
        {
            get
            {
                return this._PaddingBottom;
            }
            set
            {
                this._PaddingBottom = value;
            }
        }

        public string PaddingLeft
        {
            get
            {
                return this._PaddingLeft;
            }
            set
            {
                this._PaddingLeft = value;
            }
        }

        public string PaddingRight
        {
            get
            {
                return this._PaddingRight;
            }
            set
            {
                this._PaddingRight = value;
            }
        }

        public string PaddingTop
        {
            get
            {
                return this._PaddingTop;
            }
            set
            {
                this._PaddingTop = value;
            }
        }

        public string TextAlign
        {
            get
            {
                return this._TextAlign;
            }
            set
            {
                this._TextAlign = value;
            }
        }

        public string TextDecoration
        {
            get
            {
                return this._TextDecoration;
            }
            set
            {
                this._TextDecoration = value;
            }
        }

        public string UnicodeBiDi
        {
            get
            {
                return this._UnicodeBiDi;
            }
            set
            {
                this._UnicodeBiDi = value;
            }
        }

        public string VerticalAlign
        {
            get
            {
                return this._VerticalAlign;
            }
            set
            {
                this._VerticalAlign = value;
            }
        }

        public string WritingMode
        {
            get
            {
                return this._WritingMode;
            }
            set
            {
                this._WritingMode = value;
            }
        }
    }
}

